﻿namespace Sidvall.AuthorizationManager.Net.Services.V1
{
    public sealed partial class AuthorizationScopeResourceActionClaimCollectionItem : global::Sidvall.Data.ServiceDataRowCollectionItem<global::Sidvall.AuthorizationManager.Net.Services.V1.AuthorizationScopeResourceActionClaim>
    {
        #region Public Members

        #region LoadAuthorizationScopeResourceActionsAsync

        public async System.Threading.Tasks.Task LoadAuthorizationScopeResourceActionsAsync()
        {
            await LoadAuthorizationScopeResourceActionsAsync(false, false, null, null, null).ConfigureAwait(false);
        }
        public async System.Threading.Tasks.Task LoadAuthorizationScopeResourceActionsAsync(bool refresh, bool raisePropertyChanged, global::Sidvall.Data.FetchListCriteria<global::Sidvall.AuthorizationManager.Data.Fields.AuthorizationScopeResourceActionField, global::Sidvall.AuthorizationManager.Data.Relations.AuthorizationScopeResourceActionRelation> criteria, string strategyContext, global::Sidvall.Data.ObjectParameterCollection objectParameters)
        {
            await global::Sidvall.AuthorizationManager.SystemContext.Current.DataPortal.AuthorizationScopeResourceActionClaimManager.LoadAuthorizationScopeResourceActionsAsync(this.Items, refresh, raisePropertyChanged, criteria, strategyContext, objectParameters).ConfigureAwait(false);
        }

        #endregion

        #region Copy

        public AuthorizationScopeResourceActionClaimCollectionItem Copy()
        {
            return global::Sidvall.AuthorizationManager.SystemContext.Current.EntityFacade.AuthorizationScopeResourceActionClaimManager.Copy(this.Items);
        }
        public AuthorizationScopeResourceActionClaimCollectionItem Copy(Sidvall.Data.CopySettings settings)
        {
            return global::Sidvall.AuthorizationManager.SystemContext.Current.EntityFacade.AuthorizationScopeResourceActionClaimManager.Copy(this.Items, settings);
        }

        #endregion
        #region Import

        public void Import(System.Collections.Generic.IEnumerable<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceActionClaim> items)
        {
            global::Sidvall.AuthorizationManager.SystemContext.Current.EntityFacade.AuthorizationScopeResourceActionClaimManager.Import(this.Items, items);
        }
        public void Import(System.Collections.Generic.IEnumerable<global::Sidvall.AuthorizationManager.Data.IAuthorizationScopeResourceActionClaim> items, Sidvall.Data.CopySettings settings)
        {
            global::Sidvall.AuthorizationManager.SystemContext.Current.EntityFacade.AuthorizationScopeResourceActionClaimManager.Import(this.Items, items, settings);
        }

        #endregion
        #region SaveItemsAsync

        public async System.Threading.Tasks.Task<AuthorizationScopeResourceActionClaimCollectionItem> SaveItemsAsync()
        {
            return await global::Sidvall.AuthorizationManager.SystemContext.Current.DataPortal.AuthorizationScopeResourceActionClaimManager.SaveItemsAsync(this).ConfigureAwait(false);
        }
        public async System.Threading.Tasks.Task<AuthorizationScopeResourceActionClaimCollectionItem> SaveItemsAsync(Sidvall.Data.SaveMode mode)
        {
            return await global::Sidvall.AuthorizationManager.SystemContext.Current.DataPortal.AuthorizationScopeResourceActionClaimManager.SaveItemsAsync(this, mode).ConfigureAwait(false);
        }
        public async System.Threading.Tasks.Task<AuthorizationScopeResourceActionClaimCollectionItem> SaveItemsAsync(Sidvall.Data.SaveSettings settings)
        {
            return await global::Sidvall.AuthorizationManager.SystemContext.Current.DataPortal.AuthorizationScopeResourceActionClaimManager.SaveItemsAsync(this, settings).ConfigureAwait(false);
        }

        #endregion
        #region ValidateAsync

        public async System.Threading.Tasks.Task<Sidvall.Data.BusinessRuleCollection> ValidateAsync()
        {
            return await global::Sidvall.AuthorizationManager.SystemContext.Current.EntityFacade.AuthorizationScopeResourceActionClaimManager.ValidateAsync(this.Items).ConfigureAwait(false);
        }
        public async System.Threading.Tasks.Task<Sidvall.Data.BusinessRuleCollection> ValidateAsync(Sidvall.Data.ValidationSettings settings)
        {
            return await global::Sidvall.AuthorizationManager.SystemContext.Current.EntityFacade.AuthorizationScopeResourceActionClaimManager.ValidateAsync(this.Items, settings).ConfigureAwait(false);
        }

        #endregion
        #region Initialize

        public void Initialize()
        {
            global::Sidvall.AuthorizationManager.SystemContext.Current.EntityFacade.AuthorizationScopeResourceActionClaimManager.Initialize(this.Items);
        }
        public void Initialize(Sidvall.Data.InitializeSettings settings)
        {
            global::Sidvall.AuthorizationManager.SystemContext.Current.EntityFacade.AuthorizationScopeResourceActionClaimManager.Initialize(this.Items, settings);
        }

        #endregion

        #endregion
        #region Constructors

        public AuthorizationScopeResourceActionClaimCollectionItem()
        {
        }
        public AuthorizationScopeResourceActionClaimCollectionItem(System.Collections.Generic.IEnumerable<global::Sidvall.AuthorizationManager.Net.Services.V1.AuthorizationScopeResourceActionClaim> items)
            : base(items)
        {
        }

        #endregion
    }
}